/*
 * Copyright (c) 2024-2025 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "core/components_ng/base/frame_node.h"
#include "core/interfaces/native/utility/converter.h"
#include "arkoala_api_generated.h"

namespace OHOS::Ace::NG::GeneratedModifier {
namespace AxisEventAccessor {
void DestroyPeerImpl(Ark_AxisEvent peer)
{
    auto peerImpl = reinterpret_cast<AxisEventPeerImpl *>(peer);
    if (peerImpl) {
        delete peerImpl;
    }
}
Ark_AxisEvent ConstructImpl()
{
    return {};
}
Ark_NativePointer GetFinalizerImpl()
{
    return reinterpret_cast<void *>(&DestroyPeerImpl);
}
void PropagationImpl(Ark_AxisEvent peer)
{
}
Ark_Float64 GetHorizontalAxisValueImpl(Ark_AxisEvent peer)
{
    return {};
}
Ark_Float64 GetVerticalAxisValueImpl(Ark_AxisEvent peer)
{
    return {};
}
Ark_AxisAction GetActionImpl(Ark_AxisEvent peer)
{
    return {};
}
void SetActionImpl(Ark_AxisEvent peer,
                   Ark_AxisAction action)
{
}
Ark_Float64 GetDisplayXImpl(Ark_AxisEvent peer)
{
    return {};
}
void SetDisplayXImpl(Ark_AxisEvent peer,
                     Ark_Float64 displayX)
{
}
Ark_Float64 GetDisplayYImpl(Ark_AxisEvent peer)
{
    return {};
}
void SetDisplayYImpl(Ark_AxisEvent peer,
                     Ark_Float64 displayY)
{
}
Ark_Float64 GetWindowXImpl(Ark_AxisEvent peer)
{
    return {};
}
void SetWindowXImpl(Ark_AxisEvent peer,
                    Ark_Float64 windowX)
{
}
Ark_Float64 GetWindowYImpl(Ark_AxisEvent peer)
{
    return {};
}
void SetWindowYImpl(Ark_AxisEvent peer,
                    Ark_Float64 windowY)
{
}
Ark_Float64 GetXImpl(Ark_AxisEvent peer)
{
    return {};
}
void SetXImpl(Ark_AxisEvent peer,
              Ark_Float64 x)
{
}
Ark_Float64 GetYImpl(Ark_AxisEvent peer)
{
    return {};
}
void SetYImpl(Ark_AxisEvent peer,
              Ark_Float64 y)
{
}
Opt_Int32 GetScrollStepImpl(Ark_AxisEvent peer)
{
    return {};
}
void SetScrollStepImpl(Ark_AxisEvent peer,
                       const Opt_Int32* scrollStep)
{
}
} // AxisEventAccessor
const GENERATED_ArkUIAxisEventAccessor* GetAxisEventAccessor()
{
    static const GENERATED_ArkUIAxisEventAccessor AxisEventAccessorImpl {
        AxisEventAccessor::DestroyPeerImpl,
        AxisEventAccessor::ConstructImpl,
        AxisEventAccessor::GetFinalizerImpl,
        AxisEventAccessor::PropagationImpl,
        AxisEventAccessor::GetHorizontalAxisValueImpl,
        AxisEventAccessor::GetVerticalAxisValueImpl,
        AxisEventAccessor::GetActionImpl,
        AxisEventAccessor::SetActionImpl,
        AxisEventAccessor::GetDisplayXImpl,
        AxisEventAccessor::SetDisplayXImpl,
        AxisEventAccessor::GetDisplayYImpl,
        AxisEventAccessor::SetDisplayYImpl,
        AxisEventAccessor::GetWindowXImpl,
        AxisEventAccessor::SetWindowXImpl,
        AxisEventAccessor::GetWindowYImpl,
        AxisEventAccessor::SetWindowYImpl,
        AxisEventAccessor::GetXImpl,
        AxisEventAccessor::SetXImpl,
        AxisEventAccessor::GetYImpl,
        AxisEventAccessor::SetYImpl,
        AxisEventAccessor::GetScrollStepImpl,
        AxisEventAccessor::SetScrollStepImpl,
    };
    return &AxisEventAccessorImpl;
}

struct AxisEventPeer {
    virtual ~AxisEventPeer() = default;
};
}
